/*-- start project --*/
/* -- start varaibles -- */
:root {
    --main-color: #2196f3;
    --background-color:#ECECEC;
    --duration: 0.3s;
    --box-shad: rgb(0 0 0 / 17%);
    --line-height: 25px;
    --p-color: #777;
    --padding-top: 100px;
    --padding-bottom: 100px;
    --feat-color-1:rgba(255, 0, 0, 0.5);
    --feat-color-2:rgba(0, 128, 0, 0.5);
    --feat-color-3:rgba(0, 0, 255, 0.5);
    --gap: 40px;
    --min-gap: 15px;
    --p-size: 15px;
    --fill-color: #fafafa;
}
/* -- end varaibles -- */
/* -- start global rules -- */
* {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    padding: 0;
    margin: 0;
}

body {
    font-family:'Cairo',sans-serif;
}

html {
    scroll-behavior: smooth;
    -webkit-scroll-behavior: smooth;
    -moz-scroll-behavior: smooth;
}

.container {
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
}

/* -- small devices -- */
@media (min-width:768px) {
    .container {
        width: 750px;
    }
}

/* -- medium devices -- */
@media (min-width:992px) {
    .container {
        width: 970px;
    }
}

/* -- large devices -- */
@media (min-width:1200px) {
    .container {
        width: 1170px;
    }
}

/* -- start component  -- */
a{
    text-decoration: none;
}

ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

h3.title{
    margin: 0 auto 50px;
    width: fit-content;
    padding: 10px 15px;
    border: 2px solid rgba(0, 0, 0, 0.6);
    text-transform: uppercase;
    font-size: 15px;
    font-weight: bold;
    position: relative;
    z-index: 3;
}

h3.title:hover{
    color: white;
    transition-delay: var(--duration);
    border: white 2px solid;
}

h3.title::after,.title::before{
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: var(--main-color);
    z-index: -1;
}

h3.title::after{
    right: -25%;
}
h3.title::before{
    left: -25%;
}

h3.title:hover::after{
    animation: right-circle var(--duration) linear forwards;
}

h3.title:hover::before{
    animation: left-circle var(--duration) linear forwards;
}

.section{
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
}

.grid-3{
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(260px,1fr));
    gap: var(--gap);
}

.grid-4{
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(200px,1fr));
    gap: var(--gap);
}

.spikes{
    position: relative;
    z-index: 4;
}

.spikes::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 30px;
    background-image: linear-gradient(135deg, white 50%, transparent 50%),linear-gradient(225deg, white 50%, transparent 50%);
    background-size: 30px 30px;
    transform: translateY(calc(var(--padding-top) * -1));
    transition: 0.7s;
}

.gallery:hover .spikes::after,
.services:hover .spikes::after,
.pricing:hover .spikes::after,
.testimonials:hover .spikes::after,
.how:hover .spikes::after{
    width: 100%;
}

.dots{
    background-image: url(../img/dots.png);
    width: 150px;
    height: 150px;
    background-repeat: no-repeat;
    position: absolute;
    z-index: -1;
}
@media (max-width:767px){
    .dots{
        display: none;
    }
}

.dots.up{
    top: 15%;
    right: 0;
}

.dots.down{
    bottom: 15%;
    left: 0;
}
/* -- end component  -- */
/* -- end global rules -- */
/* -- start header --*/
header{
    background-color: white;
    position: relative;
    z-index: 3;
}
header .flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
@media(max-width:767px){
    header .flex{
        justify-content: center;
    }
}

header .container>a{
    color: var(--main-color);
    font-weight: bold;
    font-size: 25px;
    margin-left: 20px;
}

@media(max-width:767px){
    header .container>a{
        margin: 10px 0;
    }
}

header .main-links>li>a{
    position: relative;
    padding: 20px;
    color: black;
    display: block;
}

header .main-links>li>a::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--main-color);
    transform-origin: 0;
    transform: rotatey(90deg);
    transition-duration: var(--duration);
}

header .main-links>li>a:hover::after{
    transform: none;
}

header .main-links>li>a:hover {
    background-color: var(--fill-color);
}
header .main-links>li>a:hover{
    color: var(--main-color);
}

@media(max-width:767px){
    header .main-links>li>a{
        padding: 10px;
        font-size: 15px;
    }
    header .main-links{
        width: 100%;
    }
}

header .mega-menu {
    position: absolute;
    background-color: white;
    width: 80%;
    padding: 25px;
    border-bottom: 2px solid var(--main-color);
    top: 100%;
    left: 10%;
    transform-origin: top;
    transform: rotateX(90deg);
    transition-duration: var(--duration) ;
    z-index: 2;
}

header .main-links>li:last-child:hover .mega-menu{
    transform: none;
}
@media(max-width:767px){
    header .mega-menu {
        padding: 12px 20px;
        width: 60%;
        left: 20%;
    }
}

header .mega-menu img{
    width: 40%;
}
@media(max-width:767px){
    header .mega-menu img{
        display: none;
    }
}

header .mega-links{
    width: 55%;
}
@media(max-width:767px){
    header .container .mega-links{
        width: 100%;
        flex-direction: column;
    }
}

header .mega-links li{
    width: 45%;
}
header .mega-links a{
    display: block;
    position: relative;
    padding-top: 10px;
    width: 100%;
    height: 35px;
    font-size: 13px;
    color: var(--main-color);
    border-bottom: 1px solid var(--box-shad);
}
@media (max-width:767px){
    header .mega-links li:last-child a{
        border-bottom: none;
    }
}

header .mega-links a::after{
    content: "";
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--fill-color);
    transition-duration: var(--duration);
    z-index: -1;
}

header .mega-links a:hover::after{
    width: 100%;
}

header .mega-links li:not(:last-child) a:hover{
    padding-left: 5px;
    border-bottom: 1px solid var(--main-color);
}

header .mega-links li:last-child a:hover{
    padding-left: 5px;
}
@media(max-width:991px){
    header .mega-links a{
        font-size: 10px;
        height: 30px;
    }
}
@media(max-width:767px){
    header .mega-links li{
        width: 100%;
    }
    header .mega-links a{
        height: 35px;
    }
}

header .mega-links i{
    margin-right: 5px;
}

/* -- end header --*/
/* -- start landing -- */
.landing{
    height: 80vh;
    position: relative;
    margin-bottom: 55px;
}

.landing::after{
    content: "";
    width: 100%;
    height: calc(100% + 60px);
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--background-color);
    transform: skewY(-5deg) translateY(-60px);
    z-index: -1;
}

.landing .container{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.landing .text{
    flex: 1;
    margin-right: 40px;
}

.landing img{
    width: 40%;
    animation: land-animat 3s linear infinite;
}

.landing .text h2{
    font-size: 25px;
    letter-spacing: -1px;
    margin-bottom: 10px;
}

.landing .text p{
    line-height: var(--line-height);
    font-size: var(--p-size);
    color: var(--p-color);
}
@media(max-width:767px){
    .landing img{
        display: none;
    }
    .landing .text{
        text-align: center;
        margin: 0;
    }
}

.landing a{
    position: absolute;
    bottom: -6%;
    margin: auto;
    width: 10px;
    height: 10px;
    border-left: 3px solid var(--main-color);
    border-bottom: 3px solid var(--main-color);
    animation: arrow 1.5s linear infinite ;
}

.landing a+a{
    bottom: -7.5%;
}

/* -- end landing -- */
/* -- start Articles -- */
.articles{
    background-color: white;
}

.articles .box{
    position: relative;
    box-shadow: 2px 4px 15px var(--box-shad);
    -moz-box-shadow: 2px 4px 15px var(--box-shad);
    -webkit-box-shadow: 2px 4px 15px var(--box-shad);
    background-color: white;
    transition-duration: var(--duration);
}

.articles .box .text *{
    padding: 10px 10px 10px 15px;
}

.articles .box:hover{
    transform: translateY(-10px);
    box-shadow: 2px 4px 15px #777;
    -moz-box-shadow: 2px 4px 15px #777;
    -webkit-box-shadow:2px 4px 15px #777;
}

.articles .box .image{
    overflow: hidden;
}

.articles .box img{
    max-width: 100%;
    transition-duration: var(--duration);
}

.articles .box img:hover{
    transform:  scale(1.2) rotate(5deg);
}

.articles .box .text h5{
    font-weight: bold;
    font-size: 17px;
    margin-top: 10px;
}

.articles .box .text p{
    color: var(--p-color);
    font-size: var(--p-size);
    line-height: var(--line-height);
}

.articles .box .text a{
    margin: 30px 0 10px ;
    display: block;
    width: fit-content;
    color: var(--main-color);
    font-size: 13px;
    font-weight: bold;
}

.articles .box .text a::after{
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    top: calc(100% - 60px);
    left: 0;
    background-color: #E6E6E7;
}

.articles .box a i{
    position: absolute;
    right: 15px;
    top: calc(100% - 27.5px);
    transform: translateY(-50%);
}

.articles .box:hover i{
    animation: link-arrow linear var(--duration) infinite;
}

/* -- end Articles -- */
/* -- start gallery -- */
.gallery{
    background-color: var(--background-color);
}

.gallery .box{
    background-color: white;
    padding: 10px;
    box-shadow: 0px 2px 10px var(--box-shad);
    -webkit-box-shadow: 0px 2px 10px var(--box-shad);
    -moz-box-shadow: 0px 2px 10px var(--box-shad);
    transition-duration: var(--duration);
    overflow: hidden;
}

.gallery .box .image{
    overflow: hidden;
    position: relative;
}

.gallery .box .image::after{
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-color: rgba(255, 255, 255,0.2);
    z-index: 2;
}

.gallery .box:hover{
    transform: translateY(-10px);
}

.gallery .box:hover .image::after{
    animation: flashing var(--duration) linear;
}

.gallery .box img{
    max-width: 100%;
    transition: var(--duration);
}

.gallery .box:hover img{
    transform:  scale(1.1) rotate(5deg);
}

/* -- end gallery -- */
/* -- start features -- */
.features{
    background-color: white ;
}

.features .box{
    box-shadow: 0 5px 15px var(--box-shad);
    -webkit-box-shadow: 0 5px 15px var(--box-shad);
    -moz-box-shadow: 0 5px 15px var(--box-shad);
    padding-bottom: 20px;
}
.features .box .image{
    position: relative;
    overflow: hidden;
}

.features .box .image::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: -2px;
    left: -2px;
}

.features .box:first-child .image::after{
    background-color: var(--feat-color-1);
}
.features .box:nth-child(2) .image::after{
    background-color: var(--feat-color-2);
}
.features .box:last-child .image::after{
    background-color: var(--feat-color-3);
}

.features .box .image::before{
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0px 0px 130px 630px;
    border-color: transparent transparent white transparent;
    transition-duration: var(--duration);
    z-index: 3;
}

.features .box:hover .image::before{
    border-width: 0px 630px 130px 0;
    right: -40px;
}

.features .box img{
    max-width: 100%;
}

.features .box .content{
    padding: 20px;
    text-align: center;
}

.features .content h3{
    position: relative;
    width: fit-content;
    margin: auto;
    padding-bottom: 40px;
    font-size: 30px;
}

.features .content h3::after{
    content: "";
    position: absolute;
    width: 50%;
    height: 3px;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
}

.features .box:first-child h3::after,.features .box:first-child a::after{
    background-color: var(--feat-color-1);
}
.features .box:nth-child(2) h3::after,.features .box:nth-child(2) a::after{
    background-color: var(--feat-color-2);
}
.features .box:last-child h3::after,.features .box:last-child a::after{
    background-color: var(--feat-color-3);
}

.features .content p{
    color: var(--p-color);
    line-height: var(--line-height);
    font-size: var(--p-size);
    padding-bottom: 40px;
}
.features .box a{
    display: block;
    width: fit-content;
    position: relative;
    padding: 10px 20px ;
    font-weight: bold;
    border-radius: 5px;
    margin: auto;
    transition-delay: var(--duration);
    z-index: 3;
}
.features .box:first-child a{
    color: var(--feat-color-1);
    border: solid 3px var(--feat-color-1);
}
.features .box:nth-child(2) a{
    color:  var(--feat-color-2);
    border: solid 3px var(--feat-color-2);
}
.features .box:last-child a{
    color:  var(--feat-color-3);
    border: solid 3px var(--feat-color-3);
}

.features .box a::after{
    content: "";
    position: absolute;
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    transition: var(--duration);
    z-index: -1;
}

.features .box:hover a::after{
    width: 100%;
}

.features .box:hover a{
    color: white;
}

/* -- end features -- */
/* -- start testimonials -- */
.testimonials{
    background-color: var(--background-color);
}

.testimonials .box{
    position: relative;
    background-color: white;
    padding: 20px;
    box-shadow: 0 4px 15px var(--box-shad);
    -webkit-box-shadow: 0 4px 15px var(--box-shad);
    -moz-box-shadow: 0 4px 15px var(--box-shad);
    transition: var(--duration);
}

.testimonials .box:hover{
    transform: translateY(-5px);
}

.testimonials img{
    display: block;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: -10px;
    transform: translateY(-50%);
    border: solid 8px var(--background-color);
}

.testimonials .container .box:hover h4{
    color: var(--main-color);
    transition-duration: var(--duration);
}

.testimonials h6{
    color: var(--p-color);
    margin: 15px 0;
    font-size: var(--p-size);
}

.testimonials .icon i.filled{
    color: #ffd900;
}

.testimonials p{
    color: var(--p-color);
    line-height: var(--line-height);
    font-size: var(--p-size);
    margin-top: 10px;
}

/* -- end testimonials -- */
/* -- start team member -- */
.team{
    background-color: white;
}

.team .box{
    position: relative;
    height: 420px;
    z-index: 2;
}

.team .box:hover{
    transform: translatey(-10px);
    transition: var(--duration) 0.5s;
}

@media (max-width:767px){
    .team .box{
        height: 560px;
    }
    .team .box img{
        width: 80%;
    }
}

.team .box::after{
    content: "";
    position: absolute;
    width: 80%;
    height: 100%;
    right: 0;
    top: 0;
    background-color: var(--background-color);
    border-radius: 10px;
    z-index: -1;
}

.team .box img{
    max-width: 80%;
    position: absolute;
    display: block;
    top: 40px;
    left: 0;
    border-radius: 10px;
}

.team .box:hover img{
    left: 22%;
    width: 76%;
    transition: var(--duration);
    transition-delay: var(--duration);
}

.team .box .links{
    display: flex;
    gap: 30px;
    flex-direction: column;
    position: absolute;
    right: 10%;
    transform: translateX(50%);
    top: calc(50px + 10%);
}

.team .box:hover .links{
    animation: link-moving var(--duration) linear forwards;
}

.team .box .links i{
    color: var(--p-color);
}

.team .box:hover .links i{
    color: var(--main-color);
    transition-delay: var(--duration);
}

.team .box .text{
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: 25%;
}

.team .box .text h4{
    color: var(--main-color);
}

.team .box .text p{
    color: var(--p-color);
    margin: 10px 0 20px;
    font-size: var(--p-color);
}
/* -- end team member -- */
/* -- start services -- */
.services{
    background-color: var(--background-color);
}

.services .box{
    background-color: white;
    padding: 30px;
    position: relative;
    box-shadow: 0 10px 20px var(--box-shad);
    -webkit-box-shadow: 0 10px 20px var(--box-shad);
    -moz-box-shadow: 0 10px 20px var(--box-shad);
    text-align: center;
    counter-increment: box;
    transition: var(--duration);
}

.services .box::after{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background-color: var(--main-color);
    transition: var(--duration);
}

.services .box:hover::after{
    width: 100%;
}

.services .box:hover{
    transform: translateY(-10px);
}

.services .box i{
    font-size: 40px;
    color: #D5D5D5;
}

.services .box .center h4{
    color: var(--main-color);
    font-size: 20px;
    margin: 15px 0 40px;
}

.services .box .link{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: end;
    padding: 10px;
    border-top: 1px solid var(--background-color);
}

.services .link::after{
    content: "0"counter(box);
    position: absolute;
    bottom: 0;
    left: 0;
    width: auto;
    height: 100%;
    background-color: var(--main-color);
    padding: 0px 30px 0 10px;
    color: white;
    font-size: 18px;
    font-weight: bold;
    display: flex;
    align-items: center;
}

.services .link::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 45px;
    width: 30px;
    height: 101%;
    background-color: var(--background-color);
    z-index: 2;
    transform: skewx(-30deg);
}
.services .box .link a{
    color: var(--main-color);
}
/* -- end services -- */
/* -- start our skills -- */
.skills{
    background-color: white;
    position: relative;
    z-index: 3;
}

.skills .container{
    display: grid;
    grid-template-columns: 30% 50%;
    gap: var(--gap);
}
@media (max-width:767px){
    .skills .container{
        display: block;
    }
}

.skills .image img{
    max-width: 100%;
}

.skills .image{
    display: flex;
    align-items: center;
}
@media (max-width:767px){
    .skills .image{
        margin-bottom: 40px;
        justify-content: center;
    }
}

.skills .box {
    background-color: white;
}

.skills .box div{
    position: relative;
    height: 20px;
}

.skills .box div:not(:last-child){
    margin-bottom: 40px;
}

.skills .box .html{
    background-image: linear-gradient(to right, var(--main-color) 80% ,var(--background-color)80%);
}

.skills .box .css{
    background-image: linear-gradient(to right, var(--main-color) 90% ,var(--background-color)90%);
}

.skills .box .js{
    background-image: linear-gradient(to right, var(--main-color) 70% ,var(--background-color)70%);
}

.skills .box .python{
    background-image: linear-gradient(to right, var(--main-color) 80% ,var(--background-color)80%);
}

.skills .box div .text{
    position: absolute;
    top: -20px;
    left: 0;
    font-weight: bold;
    font-size: 12px;
}

.skills .box div .percent{
    position: absolute;
    right: 0;
    top: -25px;
    padding: 2px 3px 2px 4px;
    border: 1px solid #a19494;
    border-radius: 4px;
    font-size: 10px;
    color: var(--main-color);
}

/* -- end our skills -- */
/* -- start how it work-- */
.how{
    background-color: var(--background-color);
}

.how .container{
    display: grid;
    grid-template-columns: 30% 70%;
    gap: var(--gap);
}

.how .image{
    display: flex;
    align-items: center;
}

.how .image img{
    max-width: 100%;
}

@media (max-width:767px){
    .how .container>.image{
        display: none;
    }
    .how .container{
        display: block;
    }
}

.how .box .item{
    display: flex;
    background-color: white;
    align-items: center;
    gap: var(--min-gap);
    padding: 25px;
    box-shadow: 0 5px 15px var(--box-shad);
    -webkit-box-shadow: 0 5px 15px var(--box-shad);
    -moz-box-shadow: 0 5px 15px var(--box-shad);
    border-radius: 5px;
    position: relative;
    z-index: 1;
    border: 4px solid white;
}

.how .box .item::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 0;
    height: 0;
    z-index: -1;
    background-color: #ECECEC;
    transition: var(--duration);
    border-radius: 5px;
}

.how .box .item:hover::after{
    width: 100%;
    height: 100%;
}
.how .box .item:not(:last-child){
    margin-bottom: 25px;
}

.how .item .image{
    width: 13%;
}

.how .item .image img{
    max-width: 100%;
}

@media (max-width:991px){
    .how .item{
        flex-direction: column;
    }
    .how .item .content{
        text-align: center;
    } 
}

.how .item .content h5{
    font-size: 20px;
    font-weight: bold;
}

.how .item .content p{
    color: var(--p-color);
    line-height: var(--line-height);
    font-size: var(--p-color);
    margin-top: 15px;
}

/* -- end how it work-- */
/* -- start events -- */
.event{
    background-color: white;
    position: relative;
    z-index: 3;
}

.event .container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--gap);
}
@media(max-width:767px){
    .event .container{
        flex-direction: column;
    }
}

.event .image {
    width: 30%;
}
@media(max-width:767px){
    .event .image{
        width: 40%;
    }
}

.event .image img{
    max-width: 100%;
}

.event .content{
    display: flex;
    flex-direction: column;
    gap: var(--min-gap);
    text-align: center;
    flex: 1;
}

.event .content .time{
    display: flex;
    justify-content: center;
    gap: 3px;
    margin-bottom: 20px;
}

.event .content .time .unit{
    border: 1px solid #ccc;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: var(--duration);
    background-color: white;
}

.event .content .time .unit:hover{
    border: 1px solid var(--main-color);
}

.event .time .unit h4{
    font-size: 25px;
    color: var(--main-color);
    padding: 15px;
    border-bottom: 1px solid #ccc;
    font-weight: 100;
    transition: var(--duration);
}

.event .content .time .unit:hover h4{
    border-bottom: 1px solid var(--main-color);
}

.event .time .unit span{
    font-size: 10px;
    padding: 6px;
}

.event .content h3{
    font-size: 25px;
}

.event .content p{
    color: var(--p-color);
    line-height: var(--line-height);
    font-size: var(--p-size);
}

.event .email{
    background-color: var(--background-color);
    padding: 20px 30px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    margin-top: 30px;
}

.event .email input[type^=email]{
    border: none;
    padding: 15px;
    border-radius: 40px;
    font-size: 14px;
    width: 300px;
    caret-color: var(--main-color);
}

.event .email input[type^=email]:focus{
    outline: none;
}

.event .email input[type^=email]::placeholder{
    transition: var(--duration);
}

.event .email input[type^=email]:focus::placeholder{
    opacity: 0;
}

.event .email input[type^=submit]{
    border: none;
    padding: 13px 20px;
    background-color: var(--main-color);
    color: white;
    border-radius: 20px;
    margin-left: 20px;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
}
@media (max-width:767px){
    .event .email{
        display: flex;
        flex-direction: column;
        gap: var(--min-gap);
        max-width: 100%;
        padding: 20px;
        border-radius: 0;
    }
    .event .email input[type^=submit],.event .email input[type^=email]{
        width: 100%;
        margin: 0;
        border-radius: 0;
    }
}
.event .email input[type^=submit]:hover{
    background-color: #158ff3;
}

/* -- end events -- */
/* -- start pricing -- */
.pricing{
    background-color: var(--background-color);
}

.pricing .box{
    background-color: white;
    padding: 20px 0;
    box-shadow: 0 4px 10px var(--box-shad);
    transition: var(--duration);
    position: relative;
    z-index: 4;
}

@media (min-width:992px){
    .pricing .box:nth-child(2){
        transform: translateY(-20px);
    }
}

.pricing .box::after,.pricing .box::before{
    content: "";
    position: absolute;
    width: 0;
    height: 50%;
    background-color: #dddddd47;
    transition: var(--duration);
    z-index: -1;
}

.pricing .box::after{
    top: 0;
    left: 0;
}

.pricing .box::before{
    bottom: 0;
    right: 0;
}

.pricing .box:hover::after,.pricing .box:hover::before{
    width: 100%;
}

.pricing .pop{
    position: absolute;
    top: 51px;
    right: -25px;
    background-color: var(--main-color);
    color: white;
    padding: 7px 30px 7px 10px;
    transform: rotate(90deg);
    z-index: 4;
}

.pricing .pop::after{
    content: "";
    position: absolute;
    width: 0;
    bottom: 0px;
    right: 0px;
    height: 0;
    border-style: solid;
    border-color: transparent transparent white transparent;
    border-width: 16px;
    transform: rotate(-90deg);
    z-index: 4;
}

.pricing .box .price{
    text-align: center;
}

.pricing .box .price h4{
    margin: 10px auto 10px;
    font-size: 25px;
}

.pricing .box .price img{
    max-width: 30%;
    margin: 20px 0;
}

.pricing .box .price h2{
    color: var(--main-color);
    font-size: 40px;
}

.pricing .box .list{
    margin: 30px 0;
}

.pricing .list .item{
    color: #555;
    padding: 10px;
}

.pricing .list .item:not(:last-child){
    border-bottom: 1px solid #ccc;
    margin-bottom: 8px;
}

.pricing .box .price p{
    color: var(--p-color);
    font-size: var(--p-size);
}

.pricing .list .item i{
    color: var(--main-color);
    margin-right: 10px;
    font-weight: bold;
}

.pricing a{
    display: block;
    color: var(--main-color);
    width: fit-content;
    margin: 0 auto 10px;
    padding: 10px 15px ;
    border: 2px solid var(--main-color);
    border-radius: 8px;
    position: relative;
    z-index: 4;
}

.pricing a:hover{
    color: white;
    border-color: white;
}

.pricing a::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background-color: var(--main-color);
    z-index: -1;
    transition: var(--duration);
    border-radius: 8px;
}

.pricing a:hover::after{
    width: 100%;
}

/* -- end pricing -- */
/* --start videos -- */
.videos{
    background-color: white;
}

.videos .container{
    display: flex;
    align-items: center;
}
@media (max-width:767px){
    .videos .container{
        flex-direction: column;
    }
}

.videos .links{
    border: 1px solid #ccc;
    flex: 1;
    height: 500px;
    display: flex;
    flex-direction: column;
}
@media (max-width:767px){
    .videos .links{
        height: auto;
        width: 100%;
    }
}

.videos .links a{
    display: block;
    padding: 12px;
    color: #555;
    transition: var(--duration);
    flex: 1;
}

.videos .links a:hover{
    background-color: var(--fill-color);
    color: var(--main-color);
}

.videos .links a:first-child{
    background-color: #DDD;
    color: var(--main-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
}

.videos .links a:not(:last-child){
    border-bottom: 1px solid #ccc;
}

.videos .links a p{
    color: var(--p-color);
    font-size: var(--p-size);
    margin-top: 5px;
}

.videos .image{
    width: 55%;
    height: 500px;
    padding: 10px;
    background-color: var(--background-color);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
@media (max-width:767px){
    .videos .image{
        height: auto;
        width: 100%;
    }
}

.videos .image img{
    max-width: 100%;
}

.videos .image p{
    background-color: white;
    padding: 15px;
    font-size: 12px;
    margin-top: 30px;
}
/* -- end videos -- */
/* -- start statics -- */
.statics{
    position: relative;
    background-image: url(../img/stats.jpg);
    background-size: cover;
    z-index: 2;
}

.statics::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--fill-color);
    opacity: 0.9;
}

.statics h3{
    margin: 0 auto 40px;
    width: fit-content;
    font-size: 30px;
    z-index: 4;
    position: relative;
}

.statics .box{
    display: flex;
    gap: var(--min-gap);
    z-index: 4;
    position: relative;
}
@media (max-width:767px){
    .statics .box{
        flex-direction: column;
    }
}

.statics .box .item{
    display: flex;
    align-items: center;
    flex-direction: column;
    box-shadow: 0 4px 10px var(--box-shad);
    -webkit-box-shadow: 0 4px 10px var(--box-shad);
    -moz-box-shadow: 0 4px 10px var(--box-shad);
    padding: 15px 0;
    background-color: white;
    flex: 1;
    position: relative;
    background-image: linear-gradient(45deg, #00000061, transparent);
}

.statics .item::after,.statics .item::before{
    content: "";
    position: absolute;
    width: 3px;
    height: 0;
    background-color: var(--main-color);
    transition: var(--duration);
}

.statics .item::after{
    top: 0;
    right: 0;
}
.statics .item::before{
    bottom: 0;
    left: 0;
}

.statics .item:hover::after,.statics .item:hover::before{
    height: 100%;
}

.statics .box .item h2{
    margin: 10px auto;
    font-size: 35px;
}

.statics .box .item span{
    color: var(--main-color);
    font-size: var(--p-size);
}
/* -- end statics -- */
/* -- start discount  -- */
.discount{
    display: grid;
    grid-template-columns: 50% 50%;
}
@media(max-width:767px) {
    .discount{
        display: block;
    }
}

.discount .text{
    position: relative;
    padding: 80px 60px;
    background-image: url(../img/discount-background1.jpg);
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--min-gap);
}

.discount .text::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgb(33 150 243 / 97%);
}

.discount .text h3{
    position: relative;
    z-index: 2;
    font-size: 25px;
    color: white;
}

.discount .text p{
    position: relative;
    z-index: 2;
    font-size: var(--p-size);
    line-height: var(--line-height);
    color: rgba(255, 255, 255, 0.829);
}

.discount .text img{
    max-width: 50%;
    position: relative;
    z-index: 2;
}

.discount form{
    padding: 80px 60px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.discount form h2{
    margin-bottom: 10px;
}

.discount form input,.discount form textarea{
    border: none;
    padding: 10px;
    font-size: 15px;
    caret-color: var(--main-color);
    box-shadow: 0 2px 5px var(--box-shad);
}
.discount form input:not(:last-child),.discount form textarea{
    background-color: var(--background-color);
}

.discount form textarea{
    resize: none;
}

.discount form input[type="submit"]{
    color: white;
    background-color: var(--main-color);
    border: 1px solid white;
    cursor: pointer;
}
.discount form input[type="submit"]:hover{
    background-color: #158ff3;
}

.discount form input:focus,.discount form textarea:focus{
    outline: none;
}

.discount form input::placeholder,.discount form textarea::placeholder{
    transition: var(--duration);
}

.discount form input:focus::placeholder,.discount form textarea:focus::placeholder{
    opacity: 0;
}
/* -- end discount -- */
/* --  end footer -- */
footer{
    background-color: black;
    padding-top: var(--padding-top);
}

footer .container{
    align-items: center;
    margin-bottom: 60px;
}
@media (max-width:767px){
    footer .container{
        text-align: center;
    }
}

footer .box h3{
    color: white;
    font-size: 40px;
    letter-spacing: -1px;
}

footer .box .icons{
    display: flex;
    gap: 7px;
    margin: 20px auto;
}
@media (max-width:767px){
    footer .box .icons{
        justify-content: center;
    }
}

footer .box .icons i{
    color: white;
    background-color: #777;
    padding: 10px 0px;
    width: 40px;
    display: flex;
    justify-content: center;
    font-size: 18px;
    transition: var(--duration);
}

footer .box .icons a:hover i.fa-facebook-f{
    background-color: #1877f2;
}

footer .box .icons a:hover i.fa-twitter{
    background-color: #1da1f2;
}

footer .box .icons a:hover i.fa-youtube{
    background-color: #ff0000;
}

footer .box p{
    color: var(--p-color);
    line-height: var(--line-height);
    font-size: var(--p-size);
}

footer .links a{
    color: var(--p-color);
    padding: 12px 0;
    display: block;
    font-size: 15px;
    transition: var(--duration);
}

footer .links a:hover{
    padding-left: 5px;
    color: white;
}

footer .links a:not(:last-child){
    border-bottom: 1px solid #777;
}

footer .links i{
    color: var(--main-color);
    margin-right: 10px;
    font-size: 15px;
}

footer .contact .item{
    display: flex;
    gap: var(--min-gap);
    align-items: center;
}
@media (max-width:767px){
    footer .contact .item{
        flex-direction: column;
    }
}

footer .contact .item:nth-child(2){
    margin: 30px 0;
}

footer .contact .item i{
    color: var(--main-color);
    font-size: 18px;
}

footer .contact .item p{
    color: var(--p-color);
    font-size: var(--p-size);
}

footer .image{
    display: grid;
    grid-template-columns: 32% 32% 32%;
    gap: 2%;
}

footer .image div{
    padding: 3px;
    background-color: white;
    display: flex;
    align-items: center;
}

footer .image img{
    max-width: 100%;
}

footer .made{
    color: #ffffffc7;
    padding: 20px;
    border-top: 1px solid #555;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
}

footer .made span{
    color: var(--main-color);
    font-size: 18px;
}
/* --  start footer -- */
/* -- start animation -- */
@keyframes land-animat{
    0%, 50%, 100%{
        margin-top: 0;
    }
    25%{
        margin-top: -20px;
    }
    75%{
        margin-top: 20px;
    }
}

@keyframes arrow{
    0%, 70%, 100%{
        transform: rotate(-45deg) translate(0);
    }
    60%,80%,90%{
        transform: rotate(-45deg) translate(7px, -7px);
    }

}

@keyframes left-circle{
    50%{
        left: 0;
        width: 10px;
        height: 10px;
        border-radius: 50%;
    }
    100%{
        left: 0;
        width: 51%;
        height: 100%;
        border-radius: 0;
    }
}
@keyframes right-circle{
    50%{
        right: 0;
        width: 10px;
        height: 10px;
        border-radius: 50%;
    }
    100%{
        right: 0;
        width: 51%;
        height: 100%;
        border-radius: 0;
    }
}
@keyframes link-arrow{
    100%{
        transform: translate(10px,-50%);
    }
}
@keyframes flashing{
    50%{
        opacity: 1;
    }
    100%{
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}
@keyframes link-moving{
    30%{
        top: 10px;
        right: 15%;
        gap: 0;
    }
    60%{
        flex-direction: row-reverse;
    }
    100%{
        flex-direction: row-reverse;
        gap: 30px;
        right: 40%;
        top: 10px;
    }
}
/* -- start animation -- */
/* -- end project -- */


